An embodiment relates generally to requirement document automatic linking using natural language processing.
In system development process, requirements provide necessary information about the functionalities that software must provide for the successful function of a system. Therefore, capturing requirements is used as a first step. The requirements are typically captured in free-flowing English language and the resulting requirement documents are spread over hundreds of pages. In many instances, multiple functional requirements may have some overlapping sub-functionalities and a same functional requirement gets captured at different places in a requirement document using inconsistent vocabulary. Typically, the SMEs (Subject Matter Expert) reviews the requirement document to identify the inconsistency and correctness issues and rectify them to improve the quality of the requirement document. Given the length of a requirement document as well as the inconsistent use of vocabulary coupled with abbreviations, the task of manually linking appropriate requirements in a mental model is a non-trivial, time consuming and error prone exercise.
Under a current process, the domain expert, such as a subject matter expert, relies on their personal experience and their own mental modelling capability to subjectively link the requirements. However, due to the challenges described above, the process is data intensive and challenging for an individual and leads to incomplete requirement analysis. This incomplete analysis is the source of the errors that may lead to further inaccuracies at a later development stage which in turn becomes more expensive to fix.